<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
		<head>
			<!-- template designed by Marco Von Ballmoos -->
			<title>Docs For Class Node</title>
			<link rel="stylesheet" href="../media/stylesheet.css" />
			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
		</head>
		<body>
			<div class="page-body">			
<h2 class="class-name">Interface Node</h2>

<a name="sec-description"></a>
<div class="info-box">
	<div class="info-box-title">Description</div>
	<div class="nav-bar">
					<span class="disabled">Description</span> |
															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
						
					</div>
	<div class="info-box-body">
        		<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">The <a href="../phpContentRepository/Node.html">Node</a> interface represents a <a href="../phpContentRepository/Node.html">Node</a> in the hierarchy that makes up  the repository.</p>
	<ul class="tags">
				<li><span class="field">copyright:</span> Copyright &amp;copy; 2004-2005, Domain51</li>
				<li><span class="field">author:</span> PHP - Travis Swicegood &lt;<a href="mailto:travis@domain51.net">travis@domain51.net</a>&gt;</li>
			</ul>
		<p class="notes">
			Located in <a class="field" href="_Node_interface_php.html">/Node.interface.php</a> (line <span class="field">46</span>)
		</p>
		
				
		<pre><a href="../phpContentRepository/Item.html">Item</a>
   |
   --Node</pre>
	
			</div>
</div>




	<a name="sec-method-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Method Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
												<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
		</div>
		<div class="info-box-body">			
			<div class="method-summary">
								
				<div class="method-definition">
											<span class="method-result">object
 The</span>
										<a href="#addExistingNode" title="details" class="method-name">addExistingNode</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$absPath</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$newName</span> = <span class="var-default">null</span>])
									</div>
								
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#addMixin" title="details" class="method-name">addMixin</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$mixinName</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">The</span>
										<a href="#addNode" title="details" class="method-name">addNode</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$primaryNodeTypeName</span> = <span class="var-default">null</span>])
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 A</span>
										<a href="#checkin" title="details" class="method-name">checkin</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#checkout" title="details" class="method-name">checkout</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 A</span>
										<a href="#findProperties" title="details" class="method-name">findProperties</a>
											(<span class="var-type">Value</span>&nbsp;<span class="var-name">$value</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 The</span>
										<a href="#findProperty" title="details" class="method-name">findProperty</a>
											(<span class="var-type">Value</span>&nbsp;<span class="var-name">$value</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 A</span>
										<a href="#getBaseVersion" title="details" class="method-name">getBaseVersion</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 A</span>
										<a href="#getDefinition" title="details" class="method-name">getDefinition</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">array</span>
										<a href="#getMixinNodeTypes" title="details" class="method-name">getMixinNodeTypes</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 The</span>
										<a href="#getNode" title="details" class="method-name">getNode</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 A</span>
										<a href="#getNodes" title="details" class="method-name">getNodes</a>
											([<span class="var-type">string</span>&nbsp;<span class="var-name">$namePattern</span> = <span class="var-default">null</span>])
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 The</span>
										<a href="#getPrimaryItem" title="details" class="method-name">getPrimaryItem</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 A</span>
										<a href="#getPrimaryNodeType" title="details" class="method-name">getPrimaryNodeType</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">A</span>
										<a href="#getProperties" title="details" class="method-name">getProperties</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$namePattern</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 A</span>
										<a href="#getProperty" title="details" class="method-name">getProperty</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">string</span>
										<a href="#getUUID" title="details" class="method-name">getUUID</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 A</span>
										<a href="#getVersionHistory" title="details" class="method-name">getVersionHistory</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">bool</span>
										<a href="#hasNode" title="details" class="method-name">hasNode</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">bool</span>
										<a href="#hasNodes" title="details" class="method-name">hasNodes</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">bool</span>
										<a href="#hasProperties" title="details" class="method-name">hasProperties</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">bool</span>
										<a href="#hasProperty" title="details" class="method-name">hasProperty</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">bool</span>
										<a href="#isCheckedOut" title="details" class="method-name">isCheckedOut</a>
										()
									</div>
								
				<div class="method-definition">
											<span class="method-result">bool</span>
										<a href="#isNodeType" title="details" class="method-name">isNodeType</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$nodeTypeName</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#merge" title="details" class="method-name">merge</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$srcWorkspace</span>, <span class="var-type">bool</span>&nbsp;<span class="var-name">$shallow</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#remove" title="details" class="method-name">remove</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#restore" title="details" class="method-name">restore</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$to</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#restoreByLabel" title="details" class="method-name">restoreByLabel</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$versionLabel</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#save" title="details" class="method-name">save</a>
											(<span class="var-type">bool</span>&nbsp;<span class="var-name">$shallow</span>)
									</div>
								
				<div class="method-definition">
											<span class="method-result">object
 The</span>
										<a href="#setProperty" title="details" class="method-name">setProperty</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$name</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$value</span>, [<span class="var-type">int|null</span>&nbsp;<span class="var-name">$type</span> = <span class="var-default">null</span>])
									</div>
								
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#update" title="details" class="method-name">update</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$scrWorkspaceName</span>, <span class="var-type">bool</span>&nbsp;<span class="var-name">$shallow</span>)
									</div>
							</div>
		</div>
	</div>		

	
	<a name="sec-methods"></a>
	<div class="info-box">
		<div class="info-box-title">Methods</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
																<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
						
		</div>
		<div class="info-box-body">
			<A NAME='method_detail'></A>
<a name="methodaddExistingNode" id="addExistingNode"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">addExistingNode</span> (line <span class="line-number">128</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Adds the existing <a href="../phpContentRepository/Node.html">Node</a> at $absPath as child of  $this <a href="../phpContentRepository/Node.html">Node</a>, thus adding $this  <a href="../phpContentRepository/Node.html">Node</a> as an addional parent of the <a href="../phpContentRepository/Node.html">Node</a> at  $absPath.</p>
<p class="description"><p>This change will be persisted (if valid) on <a href="../phpContentRepository/Node.html#methodsave">save()</a>.</p><p>If the <a href="../phpContentRepository/Node.html">Node</a> at $absPath is not of mixin type  mix:referenceable, a <a href="../phpContentRepository/Exceptions/ConstraintViolationException.html">ConstraintViolationException</a>  will be thrown on <a href="../phpContentRepository/Node.html#methodsave">save()</a>.</p><p>The name of the new child <a href="../phpContentRepository/Node.html">Node</a> as accessed from $this  <a href="../phpContentRepository/Node.html">Node</a> will be the same as its current name in $absPath  (that is, the last path segment in that $absPath).</p><p>If $newName is specified, $this <a href="../phpContentRepository/Node.html">Node</a>  should assume the new name.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> new child <a href="../phpContentRepository/Node.html">Node</a>.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/PathNotFoundException.html">PathNotFoundException</a>    If no <a href="../phpContentRepository/Node.html">Node</a> exists at $absPath.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    In level 2: If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 The</span>
		<span class="method-name">
			addExistingNode
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$absPath</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$newName</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$absPath</span><span class="var-description">: The absolute path of the new child <a href="../phpContentRepository/Node.html">Node</a>.</span>			</li>
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$newName</span><span class="var-description">: The new name for $this <a href="../phpContentRepository/Node.html">Node</a> when referenced as a    child of $this <a href="../phpContentRepository/Node.html">Node</a>.  (Optional)</span>			</li>
				</ul>
		
		
	</div>
<a name="methodaddMixin" id="addMixin"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">addMixin</span> (line <span class="line-number">571</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Adds the specified mixin <a href="../phpContentRepository/NodeType.html">NodeType</a> to $this  <a href="../phpContentRepository/Node.html">Node</a>.</p>
<p class="description"><p>If a conflict with another assigned mixin or the main <a href="../phpContentRepository/NodeType.html">NodeType</a>  results, an exception is thrown on <a href="../phpContentRepository/Node.html#methodsave">save()</a>. Adding a mixin  to the list held in that <a href="../phpContentRepository/Node.html">Node</a>'s jcr:mixinTypes  <a href="../phpContentRepository/Property.html">Property</a>.</p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			addMixin
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$mixinName</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$mixinName</span><span class="var-description">: The mixin name</span>			</li>
				</ul>
		
		
	</div>
<a name="methodaddNode" id="addNode"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">addNode</span> (line <span class="line-number">94</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Creates a new <a href="../phpContentRepository/Node.html">Node</a> at relPath. The new <a href="../phpContentRepository/Node.html">Node</a> will only be  persisted in the workspace when save() and if the structure  of the new <a href="../phpContentRepository/Node.html">Node</a> (its child <a href="../phpContentRepository/Node.html">Node</a>s and properties) meets the constraint  criteria of the parent <a href="../phpContentRepository/Node.html">Node</a>'s <a href="../phpContentRepository/NodeType.html">NodeType</a>.</p>
<p class="description"><p>If relPath implies intermediary <a href="../phpContentRepository/Node.html">Node</a>s that do not  exist then a PathNotFoundException is thrown.</p><p>If an <a href="../phpContentRepository/Item.html">Item</a> already exists at relPath then an  ItemExistsException is thrown.</p><p>If an attempt is made to add a <a href="../phpContentRepository/Node.html">Node</a> as a child of a  <a href="../phpContentRepository/Property.html">Property</a> then a ConstraintViolationException is  thrown immediately (not on <a href="../phpContentRepository/Node.html#methodsave">save()</a>).</p><p>Since $this signature does not allow explicit <a href="../phpContentRepository/NodeType.html">NodeType</a> assignment, the  new <a href="../phpContentRepository/Node.html">Node</a>'s <a href="../phpContentRepository/NodeType.html">NodeType</a>s (primary and mixin, if applicable) will be  determined immediately (not on save) by the NodeDefs  in the <a href="../phpContentRepository/NodeType.html">NodeType</a>s of its parent. If there is no NodeDef  corresponding to the name specified for $this new <a href="../phpContentRepository/Node.html">Node</a>, then a  ConstraintViolationException is thrown immediately (not on  <a href="../phpContentRepository/Node.html#methodsave">save()</a>).</p><p>If a $primaryNodeTypeName is specified and is not recognized,  then a <a href="../phpContentRepository/Exceptions/NoSuchNodeTypeException.html">NoSuchNodeTypeException</a> is thrown</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> <a href="../phpContentRepository/Node.html">Node</a> that was added.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/ItemExistsException.html">ItemExistsException</a>    If an <a href="../phpContentRepository/Item.html">Item</a> at the specified path already exists.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/PathNotFoundException.html">PathNotFoundException</a>    If the specified path implies intermediary <a href="../phpContentRepository/Node.html">Node</a>s that do not    exist.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/ConstraintViolationException.html">ConstraintViolationException</a>    If there is no <a href="../phpContentRepository/NodeDef.html">NodeDef</a> corresponding to the name specified for    $this new <a href="../phpContentRepository/Node.html">Node</a> in the parent  <a href="../phpContentRepository/Node.html">Node</a>'s    <a href="../phpContentRepository/NodeType.html">NodeType</a>, or if an attempt is made to add a <a href="../phpContentRepository/Node.html">Node</a> as a child of    a <a href="../phpContentRepository/Property.html">Property</a>.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/NoSuchNodeTypeException.html">NoSuchNodeTypeException</a>    If a $primaryNodeTypeName is specified and not recognized.</li>
				<li><span class="field">throws:</span> RepositoryException If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">The</span>
		<span class="method-name">
			addNode
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$primaryNodeTypeName</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$relPath</span><span class="var-description">: The path of the new <a href="../phpContentRepository/Node.html">Node</a> to be created.</span>			</li>
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$primaryNodeTypeName</span><span class="var-description">: The name of the primary <a href="../phpContentRepository/NodeType.html">NodeType</a> of the new    <a href="../phpContentRepository/Node.html">Node</a>.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodcheckin" id="checkin"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">checkin</span> (line <span class="line-number">602</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Creates a new <a href="../phpContentRepository/Level2/Version.html">Version</a> with a system generated <a href="../phpContentRepository/Level2/Version.html">Version</a> name  and returns that <a href="../phpContentRepository/Level2/Version.html">Version</a>.</p>
<p class="description"><p>Level 2 Implementation</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> <a href="../phpContentRepository/Level2/Version.html">Version</a> object</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/UnsupportedRepositoryOperationException.html">UnsupportedRepositoryOperationException</a>    If versioning is not supported.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 A</span>
		<span class="method-name">
			checkin
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodcheckout" id="checkout"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">checkout</span> (line <span class="line-number">616</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Sets $this versionable <a href="../phpContentRepository/Node.html">Node</a> to checked-out status by  setting its jcr:isCheckedOut <a href="../phpContentRepository/Property.html">Property</a> to true.</p>
<p class="description"><p>Level 2 Implementation</p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/UnsupportedRepositoryOperationException.html">UnsupportedRepositoryOperationException</a>    If versioning is not supported.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			checkout
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodfindProperties" id="findProperties"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">findProperties</span> (line <span class="line-number">406</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns a <a href="../phpContentRepository/PropertyIterator.html">PropertyIterator</a> containing all of the <a href="../phpContentRepository/Property.html">Property</a>s  of $this <a href="../phpContentRepository/Node.html">Node</a> with the specified value.</p>
<p class="description"><p>If the specified <a href="../phpContentRepository/Value.html">Value</a> and the <a href="../phpContentRepository/Value.html">Value</a> of a <a href="../phpContentRepository/Property.html">Property</a>  are of different types then a conversion is attempted before the equality  test is made.</p><p>Returns an empty iterator if no such <a href="../phpContentRepository/Property.html">Property</a> could be found. In  the case of multi-value properties, a <a href="../phpContentRepository/Property.html">Property</a> qualifies as  having the specified value if and only if at least one of its values  matches.</p><p>The same <a href="../phpContentRepository/Node.html#methodsave">save()</a> and re-acquisition semantics apply as with  <a href="../phpContentRepository/Node.html#methodgetNode">getNode()</a>.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> <a href="../phpContentRepository/PropertyIterator.html">PropertyIterator</a> holding all <a href="../phpContentRepository/Property.html">Property</a>s of $this    <a href="../phpContentRepository/Node.html">Node</a> with the specified value. Returns an empty    <a href="../phpContentRepository/PropertyIterator.html">PropertyIterator</a> if no such <a href="../phpContentRepository/Property.html">Property</a> could be found.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If an unexpected error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 A</span>
		<span class="method-name">
			findProperties
		</span>
					(<span class="var-type">Value</span>&nbsp;<span class="var-name">$value</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">object
 A</span>
				<span class="var-name">$value</span><span class="var-description">: <a href="../phpContentRepository/Value.html">Value</a> object.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodfindProperty" id="findProperty"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">findProperty</span> (line <span class="line-number">378</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the first <a href="../phpContentRepository/Property.html">Property</a> of $$this  <a href="../phpContentRepository/Node.html">Node</a> found with the specified $value.</p>
<p class="description"><p>What makes a particular <a href="../phpContentRepository/Property.html">Property</a> &quot;first&quot; (that is, the search  order) is implementaion dependent. If the specified value and the value  of a <a href="../phpContentRepository/Property.html">Property</a> are of different types then a conversion is  attempted before the equality test is made. Returns NULL if  no such <a href="../phpContentRepository/Property.html">Property</a> is found. In the case of multivalue properties,  a <a href="../phpContentRepository/Property.html">Property</a> qualifies as having the specified value if and only if  at least one of its values matches.</p><p>The same <a href="../phpContentRepository/Node.html#methodsave">save()</a> and re-acquisition semantics apply as with  <a href="../phpContentRepository/Node.html#methodgetNode">getNode()</a>.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> first <a href="../phpContentRepository/Property.html">Property</a> of $this <a href="../phpContentRepository/Node.html">Node</a> found with    the specified value.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If an unexpected error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 The</span>
		<span class="method-name">
			findProperty
		</span>
					(<span class="var-type">Value</span>&nbsp;<span class="var-name">$value</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">object
 A</span>
				<span class="var-name">$value</span><span class="var-description">: <a href="../phpContentRepository/Value.html">Value</a> object.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodgetBaseVersion" id="getBaseVersion"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getBaseVersion</span> (line <span class="line-number">762</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the current base <a href="../phpContentRepository/Level2/Version.html">Version</a> of $this versionable  <a href="../phpContentRepository/Node.html">Node</a>.</p>
<p class="description"><p>Level 2 Implementation</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> Version object.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/UnsupportedRepositoryOperationException.html">UnsupportedRepositoryOperationException</a>    If versioning is not supported.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 A</span>
		<span class="method-name">
			getBaseVersion
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodgetDefinition" id="getDefinition"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getDefinition</span> (line <span class="line-number">586</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the definition of $this <a href="../phpContentRepository/Node.html">Node</a>.</p>
<p class="description"><p>This method is actually a shortcut to searching through $this  <a href="../phpContentRepository/Node.html">Node</a>'s parent's <a href="../phpContentRepository/NodeType.html">NodeType</a> (and its supertypes) for the  child <a href="../phpContentRepository/Node.html">Node</a> definition applicable to $this  <a href="../phpContentRepository/Node.html">Node</a>.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> <a href="../phpContentRepository/NodeDef.html">NodeDef</a> object.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">see:</span> <a href="../phpContentRepository/NodeType.html#methodgetChildNodeDefs">NodeType::getChildNodeDefs()</a></li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 A</span>
		<span class="method-name">
			getDefinition
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodgetMixinNodeTypes" id="getMixinNodeTypes"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getMixinNodeTypes</span> (line <span class="line-number">532</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns an array of <a href="../phpContentRepository/NodeType.html">NodeType</a> objects representing the mixin  <a href="../phpContentRepository/Node.html">Node</a> types assigned to $this <a href="../phpContentRepository/Node.html">Node</a>.</p>
	<ul class="tags">
				<li><span class="field">return:</span> An array of NodeType objects.</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">array</span>
		<span class="method-name">
			getMixinNodeTypes
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodgetNode" id="getNode"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getNode</span> (line <span class="line-number">278</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the <a href="../phpContentRepository/Node.html">Node</a> at $relPath relative to  $this <a href="../phpContentRepository/Node.html">Node</a>.</p>
<p class="description"><p>The properties and child <a href="../phpContentRepository/Node.html">Node</a>s of the returned <a href="../phpContentRepository/Node.html">Node</a> can  then be read (and if permissions allow) changed and written. However, any  changes made to $this <a href="../phpContentRepository/Node.html">Node</a>, its properties or its  child <a href="../phpContentRepository/Node.html">Node</a>s (and their properties and child <a href="../phpContentRepository/Node.html">Node</a>s, etc.)  will only be persisted to the repository upon calling <a href="../phpContentRepository/Node.html#methodsave">save()</a>.</p><p>Within the scope of a single <a href="../phpContentRepository/Ticket.html">Ticket</a> object, if a <a href="../phpContentRepository/Node.html">Node</a> has  been acquired with <a href="../phpContentRepository/Node.html#methodgetNode">getNode()</a>, any subsequent call of  <a href="../phpContentRepository/Node.html#methodgetNode">getNode()</a> re-acquiring the same <a href="../phpContentRepository/Node.html">Node</a> will return a  reference to same object, not a new copy.  PHP NOTE: As PHP does not  maintain a constant state, this should not be much of an issue.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> <a href="../phpContentRepository/Node.html">Node</a> at $relPath.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/PathNotFoundException.html">PathNotFoundException</a>    If no <a href="../phpContentRepository/Node.html">Node</a> exists at the  specified path.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 The</span>
		<span class="method-name">
			getNode
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$relPath</span><span class="var-description">: The relative path of the <a href="../phpContentRepository/Node.html">Node</a> to retrieve.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodgetNodes" id="getNodes"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getNodes</span> (line <span class="line-number">311</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns a <a href="../phpContentRepository/NodeIterator.html">NodeIterator</a> over all child <a href="../phpContentRepository/Node.html">Node</a>s of  $this <a href="../phpContentRepository/Node.html">Node</a>.</p>
<p class="description"><p>If $namePattern is specified, $this only returns  those <a href="../phpContentRepository/Node.html">Node</a>s which make that pattern.  The pattern may be a full  name or a partial name with one or more wildcard characters  (&quot;*&quot;), or a disjunction (&quot;|&quot; or  &quot;OR&quot;)</p><p>Example:  $N.getNodes(&quot;jcr:*&quot; | myapp:report&quot;)</p><p>Would return a <a href="../phpContentRepository/NodeIterator.html">NodeIterator</a> holding all of the child <a href="../phpContentRepository/Node.html">Node</a>s  of $N that are either called myapp:report or  begin with the prefix jcr:.  The pattern does not represent  paths, that is, it may not contain / characters.</p><p>Does not include properties of $this <a href="../phpContentRepository/Node.html">Node</a>.  The same <a href="../phpContentRepository/Node.html#methodsave">save()</a> and re-acquisition semantics apply as with  <a href="../phpContentRepository/Node.html#methodgetNode">getNode()</a>.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> <a href="../phpContentRepository/NodeIterator.html">NodeIterator</a> over all child <a href="../phpContentRepository/Node.html">Node</a>s of $this    <a href="../phpContentRepository/Node.html">Node</a>.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If an unexpected error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 A</span>
		<span class="method-name">
			getNodes
		</span>
					([<span class="var-type">string</span>&nbsp;<span class="var-name">$namePattern</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$namePattern</span><span class="var-description">: A name pattern.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodgetPrimaryItem" id="getPrimaryItem"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getPrimaryItem</span> (line <span class="line-number">436</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the deepest primary child <a href="../phpContentRepository/Item.html">Item</a> accessible via a chain of  primary child <a href="../phpContentRepository/Item.html">Item</a>s from $this <a href="../phpContentRepository/Node.html">Node</a>.</p>
<p class="description"><p>A <a href="../phpContentRepository/Node.html">Node</a>'s type can specifiy a maximum of one of its child  <a href="../phpContentRepository/Item.html">Item</a>s (child <a href="../phpContentRepository/Node.html">Node</a> or <a href="../phpContentRepository/Property.html">Property</a>) as its primary  child <a href="../phpContentRepository/Item.html">Item</a>.</p><p>This method traverses the chain of primary child <a href="../phpContentRepository/Item.html">Item</a>s of  $this <a href="../phpContentRepository/Node.html">Node</a> until it either encounters a  <a href="../phpContentRepository/Property.html">Property</a> or a <a href="../phpContentRepository/Node.html">Node</a> that does not have a primary child  <a href="../phpContentRepository/Item.html">Item</a>. It then returns that <a href="../phpContentRepository/Property.html">Property</a> or <a href="../phpContentRepository/Node.html">Node</a>. If  $this <a href="../phpContentRepository/Node.html">Node</a> itself (the one that $this  method is being called on) has no primary child <a href="../phpContentRepository/Item.html">Item</a> then  $this method throws a <a href="../phpContentRepository/Exceptions/ItemNotFoundException.html">ItemNotFoundException</a>.</p><p>The same <a href="../phpContentRepository/Node.html#methodsave">save()</a> and re-acquisition semantics apply as with  <a href="../phpContentRepository/Node.html#methodgetNode">getNode()</a>.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> deepest primary child <a href="../phpContentRepository/Item.html">Item</a> accessible from $this    <a href="../phpContentRepository/Node.html">Node</a> via a chain of primary child <a href="../phpContentRepository/Item.html">Item</a>s.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/ItemNotFoundException.html">ItemNotFoundException</a>    If $this <a href="../phpContentRepository/Node.html">Node</a> does not have a primary child <a href="../phpContentRepository/Item.html">Item</a>.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 The</span>
		<span class="method-name">
			getPrimaryItem
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodgetPrimaryNodeType" id="getPrimaryNodeType"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getPrimaryNodeType</span> (line <span class="line-number">522</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the primary <a href="../phpContentRepository/NodeType.html">NodeType</a> of $this <a href="../phpContentRepository/Node.html">Node</a>.</p>
	<ul class="tags">
				<li><span class="field">return:</span> <a href="../phpContentRepository/NodeType.html">NodeType</a> object.</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 A</span>
		<span class="method-name">
			getPrimaryNodeType
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodgetProperties" id="getProperties"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getProperties</span> (line <span class="line-number">352</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns a <a href="../phpContentRepository/PropertyIterator.html">PropertyIterator</a> that contains all of the properties of  $this <a href="../phpContentRepository/Node.html">Node</a>.</p>
<p class="description"><p>If $namePattern is specified, only return those  <a href="../phpContentRepository/Property.html">Property</a>s that match the specified pattern.  $namePattern works identically to that <a href="../phpContentRepository/Node.html#methodgetNodes">getNodes()</a>.</p><p>Does not include child <a href="../phpContentRepository/Node.html">Node</a>s of $this  <a href="../phpContentRepository/Node.html">Node</a>.</p><p>The same <a href="../phpContentRepository/Node.html#methodsave">save()</a> and re-acquisition semantics apply as with  <a href="../phpContentRepository/Node.html#methodgetNode">getNode()</a>.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> PropertyIterator.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If an error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">A</span>
		<span class="method-name">
			getProperties
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$namePattern</span>)
			</div>
	
		
		
	</div>
<a name="methodgetProperty" id="getProperty"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getProperty</span> (line <span class="line-number">331</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the <a href="../phpContentRepository/Property.html">Property</a> at $relPath relative to  $this <a href="../phpContentRepository/Node.html">Node</a>.</p>
<p class="description"><p>The same <a href="../phpContentRepository/Node.html#methodsave">save()</a> and re-acquisition semantics apply as with  <a href="../phpContentRepository/Node.html#methodgetNode">getNode()</a>.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> <a href="../phpContentRepository/Property.html">Property</a> object contain the <a href="../phpContentRepository/Property.html">Property</a> of    $relPath.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/PathNotFoundException.html">PathNotFoundException</a>    If no <a href="../phpContentRepository/Property.html">Property</a> exists at the specified path.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 A</span>
		<span class="method-name">
			getProperty
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$relPath</span><span class="var-description">: The relative path of the <a href="../phpContentRepository/Property.html">Property</a> to retrieve.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodgetUUID" id="getUUID"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getUUID</span> (line <span class="line-number">456</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the UUID of $this <a href="../phpContentRepository/Node.html">Node</a> as recorded in the  <a href="../phpContentRepository/Node.html">Node</a>'s jcr:UUID <a href="../phpContentRepository/Property.html">Property</a>.</p>
<p class="description"><p>This method only works on <a href="../phpContentRepository/Node.html">Node</a>s of mixin <a href="../phpContentRepository/Node.html">Node</a> type  mix:referenceable. On nonreferenceable <a href="../phpContentRepository/Node.html">Node</a>s,  $this method throws an  <a href="../phpContentRepository/Exceptions/UnsupportedRepositoryOperationException.html">UnsupportedRepositoryOperationException</a>.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> The UUID of $this <a href="../phpContentRepository/Node.html">Node</a></li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/UnsupportedRepositoryOperationException.html">UnsupportedRepositoryOperationException</a>    If $this <a href="../phpContentRepository/Node.html">Node</a> nonreferenceable.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getUUID
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodgetVersionHistory" id="getVersionHistory"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getVersionHistory</span> (line <span class="line-number">746</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the <a href="../phpContentRepository/Level2/VersionHistory.html">VersionHistory</a> object of $this  <a href="../phpContentRepository/Node.html">Node</a>.</p>
<p class="description"><p>This object is simply a wrapper for the nt:versionHistory  <a href="../phpContentRepository/Node.html">Node</a> holding $this <a href="../phpContentRepository/Node.html">Node</a>'s <a href="../phpContentRepository/Level2/Version.html">Version</a>s.</p><p>Level 2 Implementation</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> <a href="../phpContentRepository/Level2/VersionHistory.html">VersionHistory</a> object</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/UnsupportedRepositoryOperationException.html">UnsupportedRepositoryOperationException</a>    If versioning is not supported.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 A</span>
		<span class="method-name">
			getVersionHistory
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodhasNode" id="hasNode"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">hasNode</span> (line <span class="line-number">473</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Indicates whether a <a href="../phpContentRepository/Node.html">Node</a> exists at $relPath</p>
<p class="description"><p>Returns TRUE if a <a href="../phpContentRepository/Node.html">Node</a> exists at  $relPath and FALSE otherwise.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> TRUE if a <a href="../phpContentRepository/Node.html">Node</a> exists at relPath;    FALSE otherwise.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If an unspecified error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">bool</span>
		<span class="method-name">
			hasNode
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$relPath</span><span class="var-description">: The path of a possible <a href="../phpContentRepository/Node.html">Node</a>.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodhasNodes" id="hasNodes"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">hasNodes</span> (line <span class="line-number">500</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Indicates whether $$this <a href="../phpContentRepository/Node.html">Node</a> has child  <a href="../phpContentRepository/Node.html">Node</a>s.</p>
	<ul class="tags">
				<li><span class="field">return:</span> TRUE if $this <a href="../phpContentRepository/Node.html">Node</a> has one or more child    <a href="../phpContentRepository/Node.html">Node</a>s; FALSE otherwise.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If an unspecified error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">bool</span>
		<span class="method-name">
			hasNodes
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodhasProperties" id="hasProperties"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">hasProperties</span> (line <span class="line-number">513</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Indicates whether $$this <a href="../phpContentRepository/Node.html">Node</a> has  <a href="../phpContentRepository/Property.html">Property</a>s.</p>
	<ul class="tags">
				<li><span class="field">return:</span> TRUE if $this <a href="../phpContentRepository/Node.html">Node</a> has one or more    <a href="../phpContentRepository/Property.html">Property</a>s; FALSE otherwise.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If an unspecified error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">bool</span>
		<span class="method-name">
			hasProperties
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodhasProperty" id="hasProperty"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">hasProperty</span> (line <span class="line-number">487</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Indicates whether a <a href="../phpContentRepository/Property.html">Property</a> exists at $relPath.</p>
	<ul class="tags">
				<li><span class="field">return:</span> TRUE if a <a href="../phpContentRepository/Property.html">Property</a> exists at $relPath;    FALSE otherwise.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If an unspecified error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">bool</span>
		<span class="method-name">
			hasProperty
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$relPath</span><span class="var-description">: The path of a possible <a href="../phpContentRepository/Property.html">Property</a>.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodisCheckedOut" id="isCheckedOut"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">isCheckedOut</span> (line <span class="line-number">694</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns TRUE if $this <a href="../phpContentRepository/Node.html">Node</a> is currently  checked-out and FALSE otherwise.</p>
<p class="description"><p>Level 2 Implementation</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> Is this checked out?</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/UnsupportedRepositoryOperationException.html">UnsupportedRepositoryOperationException</a>    If versioning is not supported.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">bool</span>
		<span class="method-name">
			isCheckedOut
		</span>
				()
			</div>
	
		
		
	</div>
<a name="methodisNodeType" id="isNodeType"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">isNodeType</span> (line <span class="line-number">555</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Indicates whether $this <a href="../phpContentRepository/Node.html">Node</a> is of the specified  <a href="../phpContentRepository/NodeType.html">NodeType</a>.</p>
<p class="description"><p>This method provides a quick method for determining whether a particular  <a href="../phpContentRepository/Node.html">Node</a> is of a particular <a href="../phpContentRepository/NodeType.html">NodeType</a> without having to  manually search the inheritance hierarchy (which, in some implementations  may be a multiple-inhertiance hierarchy, making a manual search even  more complex). This method works for both primary <a href="../phpContentRepository/NodeType.html">NodeType</a>s and  mixin <a href="../phpContentRepository/NodeType.html">NodeType</a>s.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> TRUE if $this <a href="../phpContentRepository/Node.html">Node</a> is of the specified    <a href="../phpContentRepository/NodeType.html">NodeType</a> or a subtype of the specified <a href="../phpContentRepository/NodeType.html">NodeType</a>; returns    FALSE otherwise.</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If an unspecified error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">bool</span>
		<span class="method-name">
			isNodeType
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$nodeTypeName</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$nodeTypeName</span><span class="var-description">: The name of a <a href="../phpContentRepository/NodeType.html">NodeType</a>.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodmerge" id="merge"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">merge</span> (line <span class="line-number">678</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Performs the same function as update() with one restriction:</p>
<p class="description"><p>merge only succeeds if the base <a href="../phpContentRepository/Level2/Version.html">Version</a> of the corresponding  <a href="../phpContentRepository/Node.html">Node</a> in $srcWorkspace is a successor (or a successor  of a successor, etc., to any degree of separation) of the base  <a href="../phpContentRepository/Level2/Version.html">Version</a> of $this <a href="../phpContentRepository/Node.html">Node</a>. Otherwise,  the operation throws a <a href="../phpContentRepository/Exceptions/MergeException.html">MergeException</a>.</p><p>In repositories that do not support versioning, <a href="../phpContentRepository/Node.html#methodmerge">merge()</a> throws an  UnsupportedRepositoryOperationException.</p><p>If the <a href="../phpContentRepository/Node.html#methodmerge">merge()</a> succeeds, the changes made to $this  <a href="../phpContentRepository/Node.html">Node</a> are persisted immediately, there is no need to call  <a href="../phpContentRepository/Node.html#methodsave">save()</a>.</p><p>Level 2 Implementation</p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/UnsupportedRepositoryOperationException.html">UnsupportedRepositoryOperationException</a>    If versioning is not supported.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/MergeException.html">MergeException</a>    If <a href="../phpContentRepository/Node.html#methodmerge">merge()</a> is not successful.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/NoSuchWorkspaceException.html">NoSuchWorkspaceException</a>    If the current <a href="../phpContentRepository/Ticket.html">Ticket</a> does not have sufficient rights to perform    the <a href="../phpContentRepository/Node.html#methodmerge">merge()</a> or the specified workspace does not exist.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			merge
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$srcWorkspace</span>, <span class="var-type">bool</span>&nbsp;<span class="var-name">$shallow</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$srcWorkspace</span><span class="var-description">: The name of the source workspace.</span>			</li>
					<li>
				<span class="var-type">bool</span>
				<span class="var-name">$shallow</span><span class="var-description">: d51 Note: Same update()?</span>			</li>
				</ul>
		
		
	</div>
<a name="methodremove" id="remove"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">remove</span> (line <span class="line-number">194</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Removes the parent-child binding along $relPath to the  <a href="../phpContentRepository/Item.html">Item</a>.</p>
<p class="description"><p>If $this <a href="../phpContentRepository/Item.html">Item</a> is a <a href="../phpContentRepository/Node.html">Node</a> that has other  references to it (due to multiple parents), then all of these other  references to the <a href="../phpContentRepository/Node.html">Node</a> are preserved.  If the <a href="../phpContentRepository/Item.html">Item</a> at  path has no other references to it then it is actually erased, along with  any child <a href="../phpContentRepository/Item.html">Item</a>s that also have no other references and so on down  the subtree.</p><p>A call to save (either on <a href="../phpContentRepository/Ticket.html">Ticket</a> or on an ancestor of the newly  removed <a href="../phpContentRepository/Node.html">Node</a>) is required to persist the removal.</p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/PathNotFoundException.html">PathNotFoundException</a>    If no <a href="../phpContentRepository/Item.html">Item</a> exists at $relPath.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a> If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			remove
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$relPath</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$relPath</span><span class="var-description">: The path of the <a href="../phpContentRepository/Item.html">Item</a> to be removed.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodrestore" id="restore"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">restore</span> (line <span class="line-number">711</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Restores $this <a href="../phpContentRepository/Node.html">Node</a> to the state recorded in the  specified <a href="../phpContentRepository/Level2/Version.html">Version</a>.</p>
<p class="description"><p>Level 2 Implementation</p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/UnsupportedRepositoryOperationException.html">UnsupportedRepositoryOperationException</a>    If versioning is not supported.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			restore
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$to</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">$to</span><span class="var-description">: The point to restore to.  Valid parameters include a string containing    the version name, a <a href="../phpContentRepository/Level2/Version.html">Version</a> object, or a date to restore to.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodrestoreByLabel" id="restoreByLabel"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">restoreByLabel</span> (line <span class="line-number">727</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Restores $this <a href="../phpContentRepository/Node.html">Node</a> to the state recorded in the  <a href="../phpContentRepository/Level2/Version.html">Version</a> specified by $versionLabel.</p>
<p class="description"><p>Level 2 Implementation</p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/UnsupportedRepositoryOperationException.html">UnsupportedRepositoryOperationException</a>    If versioning is not supported.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			restoreByLabel
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$versionLabel</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$versionLabel</span><span class="var-description">: The version label to restore to</span>			</li>
				</ul>
		
		
	</div>
<a name="methodsave" id="save"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">save</span> (line <span class="line-number">250</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Validates and (if validation succeeds) persists all changes to  $this <a href="../phpContentRepository/Node.html">Node</a> made via the <a href="../phpContentRepository/Ticket.html">Ticket</a> through which  $this <a href="../phpContentRepository/Node.html">Node</a> object was acquired.</p>
<p class="description"><p>If $shallow is FALSE then all pending changes  to $this <a href="../phpContentRepository/Node.html">Node</a> and all its descendants are validated  and (if validation succeeds) persisted.</p><p>If $shallow is TRUE then pending changes to  $this <a href="../phpContentRepository/Node.html">Node</a> only are validated and (if validation  succeeds) persisted.</p><p>The changes persisted are:  <ul><li>New properties added to $this <a href="../phpContentRepository/Node.html">Node</a>.</li><li>Changes to values of existing properties of $this</li><li>Removal of properties from $this <a href="../phpContentRepository/Node.html">Node</a></li><li>Removal of child <a href="../phpContentRepository/Node.html">Node</a>s from $this</li></ul></p><p>Constraints mandated by <a href="../phpContentRepository/NodeType.html">NodeType</a>s are validated on save. If  validation fails a <a href="../phpContentRepository/Exceptions/ConstraintViolationException.html">ConstraintViolationException</a> is thrown and the  state of the transient storage is left unaffected.</p><p>An <a href="../phpContentRepository/Exceptions/AccessDeniedException.html">AccessDeniedException</a> will be thrown if an attempt is made to  save changes for which the current ticket does not have sufficient access  rights.</p><p>An <a href="../phpContentRepository/Exceptions/ActionVetoedException.html">ActionVetoedException</a> will be thrown if a  <a href="../phpContentRepository/Level2/VetoableEventListener.html">VetoableEventListener</a> vetoes one of the changes being saved.</p><p>If save succeeds then the changes persisted are removed from the cache  of pending changes in the ticket.</p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/ConstraintViolationException.html">ConstraintViolationException</a>    If any of the changes would violate a constraint as defined by the    <a href="../phpContentRepository/Node.html">Node</a> type of the respective <a href="../phpContentRepository/Node.html">Node</a>.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/AccessDeniedException.html">AccessDeniedException</a>    If the current ticket does not have sufficient access rights to    complete the operation.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/ActionVetoedException.html">ActionVetoedException</a>    If a <a href="../phpContentRepository/Level2/VetoableEventListener.html">VetoableEventListener</a> vetoes one of the changes being    saved.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			save
		</span>
					(<span class="var-type">bool</span>&nbsp;<span class="var-name">$shallow</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">bool</span>
				<span class="var-name">$shallow</span><span class="var-description">: If FALSE then $this <a href="../phpContentRepository/Node.html">Node</a> and its    subtrree is saved.  If TRUE then only $this    <a href="../phpContentRepository/Node.html">Node</a> is saved.</span>			</li>
				</ul>
		
		
	</div>
<a name="methodsetProperty" id="setProperty"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">setProperty</span> (line <span class="line-number">171</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Sets the specified <a href="../phpContentRepository/Property.html">Property</a> to the specified value. If the  <a href="../phpContentRepository/Property.html">Property</a> does not yet exist, it is created.</p>
<p class="description"><p>If $type is NULL, the <a href="../phpContentRepository/PropertyType.html">PropertyType</a> will  be that specified by the <a href="../phpContentRepository/NodeType.html">NodeType</a> of $this  <a href="../phpContentRepository/Node.html">Node</a> (the one on which $this method is being called).</p><p>If the <a href="../phpContentRepository/NodeType.html">NodeType</a> of the parent <a href="../phpContentRepository/Node.html">Node</a> does not specify a  specific <a href="../phpContentRepository/PropertyType.html">PropertyType</a> for the <a href="../phpContentRepository/Property.html">Property</a> being set, then the  <a href="../phpContentRepository/PropertyType.html">PropertyType</a> of the supplied <a href="../phpContentRepository/Value.html">Value</a> object is used.</p><p>If the <a href="../phpContentRepository/Property.html">Property</a> already exists (has previously been set) it  assumes the new value. If the <a href="../phpContentRepository/NodeType.html">NodeType</a> of the parent <a href="../phpContentRepository/Node.html">Node</a>  does not specify a specific <a href="../phpContentRepository/PropertyType.html">PropertyType</a> for the <a href="../phpContentRepository/Property.html">Property</a>  being set, then the <a href="../phpContentRepository/Property.html">Property</a> will also assume the new type  (if different).</p><p>To erase a <a href="../phpContentRepository/Property.html">Property</a>, use <a href="../phpContentRepository/Node.html#methodremove">remove()</a>.</p><p>To persist the addition or change of a <a href="../phpContentRepository/Property.html">Property</a> to the workspace  <a href="../phpContentRepository/Node.html#methodsave">save()</a> must be called on $this <a href="../phpContentRepository/Node.html">Node</a> (the  parent of the <a href="../phpContentRepository/Property.html">Property</a> being set) or a higher-order ancestor of  the <a href="../phpContentRepository/Property.html">Property</a>.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> updated <a href="../phpContentRepository/Property.html">Property</a> object</li>
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/ValueFormatException.html">ValueFormatException</a>    If $value is incompatible with (i.e. can not be converted    to) the type of the specified <a href="../phpContentRepository/Property.html">Property</a>.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">object
 The</span>
		<span class="method-name">
			setProperty
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$name</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$value</span>, [<span class="var-type">int|null</span>&nbsp;<span class="var-name">$type</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$name</span><span class="var-description">: The name of a <a href="../phpContentRepository/Property.html">Property</a> of $this <a href="../phpContentRepository/Node.html">Node</a></span>			</li>
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">$value</span><span class="var-description">: The value to be assigned</span>			</li>
					<li>
				<span class="var-type">int|null</span>
				<span class="var-name">$type</span><span class="var-description">: The type of the <a href="../phpContentRepository/Property.html">Property</a> (Optional: NULL if not    specified).</span>			</li>
				</ul>
		
		
	</div>
<a name="methodupdate" id="update"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">update</span> (line <span class="line-number">644</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Updates $this <a href="../phpContentRepository/Node.html">Node</a> to reflect the state (i.e., have</p>
<p class="description"><p>the same <a href="../phpContentRepository/Property.html">Property</a>s and child <a href="../phpContentRepository/Node.html">Node</a>s) of $this  <a href="../phpContentRepository/Node.html">Node</a>'s corresponding <a href="../phpContentRepository/Node.html">Node</a> in $srcWorkspace  (that is, the <a href="../phpContentRepository/Node.html">Node</a> in $srcWorkspace with the same  UUID as $this <a href="../phpContentRepository/Node.html">Node</a>).</p><p>If the <a href="../phpContentRepository/Node.html#methodupdate">update()</a> succeeds the changes made to $this  <a href="../phpContentRepository/Node.html">Node</a> are persisted immediately, there is no need to call  <a href="../phpContentRepository/Node.html#methodsave">save()</a>.</p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/NoSuchWorkspaceException.html">NoSuchWorkspaceException</a>    If the current <a href="../phpContentRepository/Ticket.html">Ticket</a> does not have sufficient rights to    perform the <a href="../phpContentRepository/Node.html#methodupdate">update()</a> or the specified workspace does not exist.</li>
				<li><span class="field">throws:</span> <a href="../phpContentRepository/Exceptions/RepositoryException.html">RepositoryException</a>    If another error occurs.</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			update
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$scrWorkspaceName</span>, <span class="var-type">bool</span>&nbsp;<span class="var-name">$shallow</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$scrWorkspaceName</span><span class="var-description">: The name of the source workspace.</span>			</li>
					<li>
				<span class="var-type">bool</span>
				<span class="var-name">$shallow</span><span class="var-description">: If shallow is set to FALSE, then only $this    <a href="../phpContentRepository/Node.html">Node</a> is updated. If shallow is set to TRUE then    every <a href="../phpContentRepository/Node.html">Node</a> with a UUID in the subtree rooted at    $this <a href="../phpContentRepository/Node.html">Node</a> is updated.</span>			</li>
				</ul>
		
		
	</div>
							<h4>Inherited Methods</h4>
				<a name='inherited_methods'><!-- --></a>	
									<!-- =========== Summary =========== -->
					<p>Inherited From <span class="classname"><a href="../phpContentRepository/Item.html">Item</a></span></p>
					<blockquote>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodaccept">Item::accept()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodgetAncestor">Item::getAncestor()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodgetDepth">Item::getDepth()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodgetLocks">Item::getLocks()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodgetName">Item::getName()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodgetParent">Item::getParent()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodgetParents">Item::getParents()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodgetPath">Item::getPath()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodgetPaths">Item::getPaths()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodgetTicket">Item::getTicket()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodhasLocks">Item::hasLocks()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodisGranted">Item::isGranted()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodisIdentical">Item::isIdentical()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodisNode">Item::isNode()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodlock">Item::lock()</a></span><br>
													<span class="method-name"><a href="../phpContentRepository/Item.html#methodunlock">Item::unlock()</a></span><br>
											</blockquote>
										
		</div>
	</div>


	<p class="notes" id="credit">
		Documentation generated on Fri, 31 Dec 2004 10:15:15 -0600 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.3.0RC3</a>
	</p>
	</div></body>
</html>